/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package be.khk.lesson;

import java.util.Date;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Persistence;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;

/**
 *
 * @author Yorre
 */
@ManagedBean
@RequestScoped
public class BoekingController {

    private Integer id;
    private Date boekingsdatum;
    private int aantalReizigers;
    private Betaalmethode betaalMethodeID;
    private Klant klantId;
    private Reis reisID;
    /**
     * Creates a new instance of BoekingController
     */
    public BoekingController() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Date getBoekingsdatum() {
        return boekingsdatum;
    }

    public void setBoekingsdatum(Date boekingsdatum) {
        this.boekingsdatum = boekingsdatum;
    }

    public int getAantalReizigers() {
        return aantalReizigers;
    }

    public void setAantalReizigers(int aantalReizigers) {
        this.aantalReizigers = aantalReizigers;
    }

    public Betaalmethode getBetaalMethodeID() {
        return betaalMethodeID;
    }

    public void setBetaalMethodeID(Betaalmethode betaalMethodeID) {
        this.betaalMethodeID = betaalMethodeID;
    }

    public Klant getKlantId() {
        return klantId;
    }

    public void setKlantId(Klant klantId) {
        this.klantId = klantId;
    }

    public Reis getReisID() {
        return reisID;
    }

    public void setReisID(Reis reisID) {
        this.reisID = reisID;
    }
    
    public List<Boeking> getBoekingByKlantID(int klantID){
              
        EntityManagerFactory emf = null;
        try {
            emf = Persistence.createEntityManagerFactory("Awesome_RD_TravelshopPU");
//let op: gebruik hier de juiste naam van de persistence unit 
//(zoek op in persistence.xml)

           EntityManager em2 = emf.createEntityManager();
           List<Boeking> boekingen = em2.createNamedQuery("Boeking.findByKlantID").setParameter("klantId", klantID).getResultList();
           return boekingen;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            emf.close();
            
        }
        
    }
}
